One of the primary problems of the PC (computer) world today in general and Microsoft specifically is that component and multi-tasking Operating Systems such as Microsoft Windows, out of the box, operates relatively fast. But after a few months, as additional applications and extension modules (e.g. ActiveX, OLE Controls, Plug-ins, Filters, etc.) are installed to run on the computer the computer slows down. Other problems include intermittent slow down of PCs resulting from environmental or other conditions that cause a slow down. A PC slowing down is usually considered slowing to a point that a user can perceive the time the PC takes to perform the process or program being monitored. Existing prior art profiler systems are geared for application developers that are looking to profile their applications during the development process. Profiling is the investigation of a program's behavior using information gathered as the program executes. The usual goal of this analysis is to determine which sections of a program to optimize—usually either to increase its speed or decrease its memory requirement (or both). Source and object-code based profilers used by application developers slow the applications down significantly and thus are not appropriate for running within performance sensitive operating environments, such as the ones in use by every day users. There is no system today that can be used while users are actually using the operating system and applications to determine what the cause of the slow down is. The system of this invention can be used to solve this problem.